home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Leser 15 / Amiga Plus Leser CD 15.iso / Tools / Development / CIT.v4 / citra / CITGroup.h < prev    next >
Encoding:
C/C++ Source or Header  |  2002-03-13  |  3.5 KB  |  126 lines

  1. //
  2. //                    CITGroup include
  3. //
  4. //                        StormC
  5. //
  6. //                   version 2002.02.03
  7. //
  8.  
  9. #ifndef CIT_GROUP_H
  10. #define CIT_GROUP_H TRUE
  11.  
  12. #include "CITGadget.h"
  13.  
  14. //
  15. // This enum for internal use only
  16. //
  17. enum
  18. {
  19.   CITGROUP_FIXEDHORIZ,
  20.   CITGROUP_FIXEDVERT,
  21.   CITGROUP_HORIZALIGNMENT,
  22.   CITGROUP_VERTALIGNMENT,
  23.   CITGROUP_SHRINKWRAP,
  24.   CITGROUP_EVENSIZE,
  25.   CITGROUP_SPACEINNER,
  26.   CITGROUP_SPACEOUTER,
  27.   CITGROUP_INNERSPACING,
  28.   CITGROUP_TOPSPACING,
  29.   CITGROUP_BOTTOMSPACING,
  30.   CITGROUP_LEFTSPACING,
  31.   CITGROUP_RIGHTSPACING,
  32.   CITGROUP_BEVELSTYLE,
  33.   CITGROUP_BEVELSTATE,
  34.   CITGROUP_BEVELLABEL,
  35.   CITGROUP_BEVELLABELPLACE,
  36.   CITGROUP_TEXTPEN,
  37.   CITGROUP_FILLPEN,
  38.   CITGROUP_FILLPATTERN,
  39.   CITGROUP_LABELCOLUMN,
  40.   CITGROUP_LABELWIDTH,
  41.   CITGROUP_ORIENTATION,
  42.   CITGROUP_LAST
  43. };
  44.  
  45. class CITGroup:public CITGadget
  46. {
  47.   public:
  48.     CITGroup();
  49.     ~CITGroup();
  50.  
  51.     void InsObject(CITWindowClass &winClass,BOOL &Err);
  52.     void RemObject(CITWindowClass &winClass);
  53.  
  54.     void FixedHoriz(BOOL b = TRUE)
  55.       {setTag(CITGROUP_FIXEDHORIZ,LAYOUT_FixedHoriz,b);}
  56.     void FixedVert(BOOL b = TRUE)
  57.       {setTag(CITGROUP_FIXEDVERT,LAYOUT_FixedVert,b);}
  58.     void HorizAlignment(ULONG align)
  59.       {setTag(CITGROUP_HORIZALIGNMENT,LAYOUT_HorizAlignment,align);}
  60.     void VertAlignment(ULONG align)
  61.       {setTag(CITGROUP_VERTALIGNMENT,LAYOUT_VertAlignment,align);}
  62.     void ShrinkWrap(BOOL b = TRUE)
  63.       {setTag(CITGROUP_SHRINKWRAP,LAYOUT_ShrinkWrap,b);}
  64.     void EvenSize(BOOL b = TRUE)
  65.       {setTag(CITGROUP_EVENSIZE,LAYOUT_EvenSize,b);}
  66.     void SpaceInner(BOOL b = TRUE)
  67.       {setTag(CITGROUP_SPACEINNER,LAYOUT_SpaceInner,b);}
  68.     void SpaceOuter(BOOL b = TRUE)
  69.       {setTag(CITGROUP_SPACEOUTER,LAYOUT_SpaceOuter,b);}
  70.     void InnerSpacing(ULONG spacing)
  71.       {setTag(CITGROUP_INNERSPACING,LAYOUT_InnerSpacing,spacing);}
  72.     void TopSpacing(ULONG spacing)
  73.       {setTag(CITGROUP_TOPSPACING,LAYOUT_TopSpacing,spacing);}
  74.     void BottomSpacing(ULONG spacing)
  75.       {setTag(CITGROUP_BOTTOMSPACING,LAYOUT_BottomSpacing,spacing);}
  76.     void LeftSpacing(ULONG spacing)
  77.       {setTag(CITGROUP_LEFTSPACING,LAYOUT_LeftSpacing,spacing);}
  78.     void RightSpacing(ULONG spacing)
  79.       {setTag(CITGROUP_RIGHTSPACING,LAYOUT_RightSpacing,spacing);}
  80.     void BevelStyle(ULONG style = 2) // 2 = BVS_GROUP
  81.       {setTag(CITGROUP_BEVELSTYLE,LAYOUT_BevelStyle,style);}
  82.     void BevelState(ULONG state)
  83.       {setTag(CITGROUP_BEVELSTATE,LAYOUT_BevelState,state);}
  84.     void BevelLabel(char* text,UWORD place = 0); // 0 = BVJ_TOP_CENTER
  85.     void TextPen(WORD pen)
  86.       {setTag(CITGROUP_TEXTPEN,LAYOUT_TextPen,pen);}
  87.     void FillPen(WORD pen)
  88.       {setTag(CITGROUP_FILLPEN,LAYOUT_FillPen,pen);}
  89.     void FillPattern(UWORD* pat)
  90.       {setTag(CITGROUP_FILLPATTERN,LAYOUT_FillPattern,ULONG(pat));}
  91.     void LabelColumn(ULONG column)
  92.       {setTag(CITGROUP_LABELCOLUMN,LAYOUT_LabelColumn,column);}
  93.     void LabelWidth(ULONG w)
  94.       {setTag(CITGROUP_LABELWIDTH,LAYOUT_LabelWidth,w);}
  95.        
  96.     virtual BOOL Attach(Object* child,TagItem* tag,WORD first=FALSE);
  97.     virtual void Detach(Object* child);
  98.     
  99.   protected:  
  100.     virtual BOOL Create(CITWindow* CITWd,class CITRootClass* parent);
  101.     virtual void Delete();
  102.     virtual Object* NewObjectA(TagItem* tags);
  103.     
  104.     ULONG gOrientation;
  105.  
  106.   private:
  107.     void setTag(int index,ULONG attr,ULONG val);
  108.  
  109.     CITList  childList;
  110.     TagItem* groupTag;
  111. };
  112.  
  113. class CITVGroup:public CITGroup
  114. {
  115.   public:
  116.     CITVGroup() {gOrientation = 1;} // 1 = LAYOUT_VERTICAL
  117. };
  118.  
  119. class CITHGroup:public CITGroup
  120. {
  121.   public:
  122.     CITHGroup() {gOrientation = 0;} // 0 = LAYOUT_HORIZONTAL
  123. };
  124.  
  125. #endif
  126.